package huawei.exam2;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.concurrent.atomic.AtomicBoolean;

/**
 * @author : Rookie
 * @description :
 * @date : 2022/12/23
 */
public class HJ21 {

    private static Map<String,Object> dicMap = new HashMap<>(16);

    static {
        dicMap.put("1","1");
        dicMap.put("abc","2");
        dicMap.put("def","3");
        dicMap.put("ghi","4");
        dicMap.put("jkl","5");
        dicMap.put("mno","6");
        dicMap.put("pqrs","7");
        dicMap.put("tuv","8");
        dicMap.put("wxyz","9");
        dicMap.put("0","0");
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String input = in.nextLine();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < input.length(); i++) {
            char c = input.charAt(i);
            if (Character.isUpperCase(c)) {
                char newchar = (char) (Character.toLowerCase(c) + 1);
                if (c == 'Z') {
                    newchar = 'a';
                }
                sb.append(newchar);
            }else {
                AtomicBoolean flag = new AtomicBoolean(false);
                dicMap.forEach((k,v) -> {
                    if (k.contains(String.valueOf(c))) {
                        sb.append(v);
                        flag.set(true);
                    }
                });
                if (!flag.get()) {
                    sb.append(c);
                }
            }
        }
        System.out.println(sb);
    }
}
